package main

type User struct {
	id int
}

func main() {
	var bst BST
	bst.Insert(3, 3)
	bst.Insert(5, 5)
	bst.Insert(4, 4)
	bst.Insert(1, 1)
	bst.Insert(2, 2)
	bst.Insert(7, 7)
	bst.Insert(6, 6)
	bst.Insert(8, 8)

	//bst.PreOrder()
	//bst.InOrder()
	//bst.PostOrder()
	//bst.Delete()
	//fmt.Println(bst.count)
	//bst.InOrder()
	//bst.LevelOrder()
	//fmt.Println(bst.Max().value)
	//fmt.Println(bst.Min().value)
	//bst.RemoveMax()
	//bst.RemoveMin()
	//bst.InOrder()
	bst.Remove(5)
	bst.LevelOrder()
}


